﻿
CREATE PROCEDURE [dbo].[cabimed_StergeUnitate] 
 @CodUnitate smallint AS
BEGIN
DECLARE @NrDoc AS int
SET @NrDoc = 0

BEGIN TRAN

PRINT '[ParamExUr]'    
DELETE FROM [ParamExUr] WHERE IdCons IN (SELECT c.IdCons FROM [Persoane] p JOIN [Consultatii] c ON c.IdPersoana=p.IdPersoana  WHERE [CodUnitate]=@CodUnitate)
IF @@ERROR <>0
    GOTO Eroare 


PRINT '[Consultatii]'    
DELETE FROM [Consultatii] WHERE IdPersoana IN (SELECT IdPersoana FROM [Persoane] WHERE [CodUnitate]=@CodUnitate)
IF @@ERROR <>0
    GOTO Eroare 


PRINT '[ConfigMediCab]'    
DELETE FROM [ConfigMediCab] WHERE [CodUnitate]=@CodUnitate
IF @@ERROR <>0
    GOTO Eroare 



COMMIT TRAN    
GOTO Gata
Eroare:
  ROLLBACK
  RAISERROR ('Eroare la executia procedurii StergeUnitate',-1,0)
Exista_Documente:
  ROLLBACK
  RAISERROR ('Unitatea nu poate fi stearsa deoarece contine documente!',-1,0)
Exista_Rulaje_Documente:
  ROLLBACK
  RAISERROR ('Unitatea nu poate fi stearsa deoarece contine rulaje - documente!',-1,0)

Gata:

END